// pages/search/search.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    timer: null,
    keyWords: '',
    hotWordsList: [], // 热搜列表
    searchComment: [], // 搜索建议
    searchResultList: [], // 搜索结果
    recentList: [], // 最近搜索
  },
  // 搜索框事件
  getInputValue(e) {
    clearTimeout(this.data.timer)
    this.setData({
      timer: setTimeout(() => {
        this.setData({
          keyWords: e.detail.value
        })
        this.getCommend()
      },500)
    })
    if(e.detail.value == '') {
      this.setData({
        searchComment: [],
        searchResultList: []
      })
    }
  },
  // 获取热门搜索数据
  getHotWords() {
    // 展示loading效果
    wx.showLoading({
      title: '数据加载中...',
    })

    wx.request({
      url: 'https://apic.netstart.cn/yunyuedu/search/getHotWords',
      method: 'GET',
      success: (res) => {
        console.log(res);
        this.setData({
          hotWordsList: res.data.list
        })
      },
      // 隐藏loading效果
      complete: () => {
        wx.hideLoading()
      }
    })
  },
  // 获取搜索建议数据
  getCommend() {
    if (this.data.keyWords.trim()) {
      console.log(this.data.keyWords);
      // 展示loading效果
      wx.showLoading({
        title: '数据加载中...',
      })
      wx.request({
        url: 'https://apic.netstart.cn/yunyuedu/search/searchHint?search=' + this.data.keyWords,
        method: 'GET',
        success: (res) => {
          this.setData({
            searchComment: res.data.words.w
          })
          console.log(this.data.searchComment);
        },
        // 隐藏loading效果
        complete: () => {
          wx.hideLoading()
        }
      })
    }
    
  },
  // 跳转详情页
  gobookDetail(e) {
    console.log(e);
      if (e.currentTarget) {
        this.setData({
          recentList: [...new Set([e.currentTarget.dataset.title,...this.data.recentList])]
        })
        wx.setStorageSync('RecentList',this.data.recentList)

        wx.navigateTo({
          url: '/pages/bookdetail/bookdetail?id=' + e.currentTarget.dataset.id + '&title=' + e.
          currentTarget.dataset.title
        })
      }
  },
  // 删除搜索关键词
  delHander() {
    this.setData({
      keyWords: null,
      searchComment: [],
      searchResultList: []
    })
    console.log(1111);
  },
  // 搜索功能
  serach() {
    if (this.data.keyWords.trim()) {
      // 展示loading效果
      wx.showLoading({
        title: '数据加载中...',
      })

      wx.request({
        url: 'https://apic.netstart.cn/yunyuedu/search/book.json?keyword=' + this.data.keyWords,
        method: 'GET',
        success: (res) => {
          this.setData({
            searchResultList: res.data.data.books
          })
          console.log(this.data.searchResultList);
        },
        // 隐藏loading效果
        complete: () => {
          wx.hideLoading()
        }
      })
    }
    this.setRecentSearch()
  },
  // 最近搜索点击事件
  recentHander(e) {
    this.setData({
      keyWords: e.target.dataset.recent
    })
    this.serach()
    console.log(e.target.dataset.recent);
  },
  // 获取与创建最近搜索
  getRecentSearch() {
    if (wx.getStorageSync('RecentList')) {
      this.setData({
        recentList: wx.getStorageSync('RecentList')
      })
    } else {
      wx.setStorageSync('RecentList',[])
    }
    console.log(wx.getStorageSync('RecentList'));
  },
  // 存储最近搜索
  setRecentSearch() {
    if (this.data.keyWords.trim()) {
      this.setData({
        recentList: [...new Set([this.data.keyWords,...this.data.recentList])]
      })
      wx.setStorageSync('RecentList',this.data.recentList)
    } 
  },
  // 删除最近搜索
  delRecently() {
    let thisData = this
    wx.showModal({
      title: '提示',
      content: '是否删除最近搜索',
      success (res) {
        if (res.confirm) {
          thisData.setData({
            recentList: []
          })
          wx.removeStorageSync('RecentList')
        } else if (res.cancel) {
          console.log('用户点击取消')
        }
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getHotWords()
    this.getRecentSearch()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})